package com.airticketbooking.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Date;

/**
 * @author Mr.J
 * @version 1.0.0
 * @date 2024/10/21
 * @desc
 */

@Data
public class TicketVO implements Serializable {

	private Integer ticketId; // 票证ID

	private Integer scheduleId; // 班次ID

	private Integer seatId; // 座位ID

	private Integer flightId; // 航班ID

	private Integer status; // 票据状态


	private Integer classId; // 舱位等级ID


	private String className;// 舱位等级名称

	private String description;// 座位描述


	private String rowNumber; // 座位行号

	private String columnNumber; // 座位列号


	private String seatNumber; // 座位号


	private BigDecimal price; // 座位价格

	private String seatType; // 座位类型

	private String facilities; // 提供的设施


	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime createTime;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime updateTime;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date purchaseDate; // 购票日期

	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date departureDate; // 出发日期

	private LocalTime departureTime; // 出发时间

	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date arrivalDate; // 到达日期

	private LocalTime arrivalTime; // 到达时间

	private Integer delayInfo; // 航班延误信息

	private String departureAirportName; // 出发机场名称

	private String arrivalAirportName; // 到达机场名称

	private Integer flightDistance; // 航程距离

	private String flightNumber; // 航班号


}
